gtktreemodelfilter: rework gtk_tree_model_filter_remove_elt_from_level
authorKristian Rietveld <kris@gtk.org>
Wed, 7 Sep 2011 20:06:40 +0000 (22:06 +0200)
committerKristian Rietveld <kris@gtk.org>
Wed, 7 Sep 2011 20:25:29 +0000 (22:25 +0200)
commitae2b2e7cfc123775342dc0391f197f99dc1c18ce
treed06993d21507b3dc1bddeda0cd7a56af69cf742c
parent767b2e2604a3e7d7f147c9f21237614356f3cfe4
gtktreemodelfilter: rework gtk_tree_model_filter_remove_elt_from_level

The most important change is that the function now properly releases
any external ref count and propagates these changes to the child model.
If a node is removed due to a filtering action, we now properly release
all external reference counts for its hierarchy of child nodes.

Apart from that, the function has been restructured to remove code
duplication.

Finally, there is still some doubt whether there are more calls to
gtk_tree_model_filter_free_level() which need unref_external set to TRUE.
gtk/gtktreemodelfilter.c